"""
@author: niweinan
@file: 密码复杂度验证.py.py
@time: 2023/11/24 20:40
"""


def check_passwd(passwd):
    grade = 2
    lst = []
    if len(passwd) <= 8:
         lst.append("'长度小于8'")
    else:
         grade += 1
    if func1(passwd)<3:
        lst.append("密码没有由三种以上字符组成")
    else:
        grade +=1
    if func2(passwd):
        grade += 1
    else:
        lst.append("存在字符串重复")
    if grade == 5:
        lst.append("密码符合")
    return grade,lst

def func1(str1):
    set1=set()
    for i in str1:
        if str.islower(i):
            set1.add(1)
        elif str.isupper(i):
            set1.add(2)
        elif str.isdigit(i):
            set1.add(3)
        else:
            set1.add(4)
    return len(set1)


def func2(str2):
    for i in range(len(str2)):
        j = i + 3
        while j <= len(str2):
            if str2[i:j] in str2[j:len(str2)]:
                print(str2[i:j])
                return False
            else:
                j+=1
    return True


passwd=input("请输入密码:")
print(check_passwd(passwd))
